package com.baoer.service;

import com.baoer.R;
import com.baoer.entity.Product;
import com.baoer.entity.ProductState;

import java.util.List;
import java.util.Map;

public interface ProductService {
    /**
     * 获取所有产品列表
     * @return 产品列表
     */
    R getAllProducts( Map<String, Object> map);

    R getOutboundProducts(Map< String, Object>  map);
    R getAroundProducts( Map< String, Object>  map);
    R getOtherProducts(Map < String, Object>  map);

    /**
     * 多条件搜索产品
     */
    List<Product> searchProducts(Map<String, Object> params);

    /**
     * 更新产品信息
     */
    int updateProduct(Product product);

    /**
     * 软删除产品
     */
    int deleteProduct(Integer productId);

    /**
     * 根据产品ID查询产品详情，包含店铺和负责人信息
     */
    Product getProductWithStoreAndManager(Integer productId);

    /**
     * 设置产品状态
     */
    int setProductState(ProductState productState);

    /**
     * 获取最新产品列表
     */
    R getNewestProducts( Map < String, Object>  map);

    /**
     * 获取特价产品列表
     */
    R getSpecialOfferProducts( Map<String, Object> map);

    /**
     * 获取热卖产品列表
     */
    R  getHotSellingProducts(Map<String, Object>  map);
}
